package com.car.loan.project.xr.util.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import java.time.LocalDateTime;
import lombok.Data;

/**
 * @author huangding
 * @date 2020/2/16 16:15
 */
@Data
public class SearchDetailVo extends SearchBusinessVo {

    @ApiModelProperty("财务信息")
    private FinanceInfo financeInfo;

    @ApiModelProperty("操作记录")
    private OperationalInfo operationalInfo;

    @Data
    public static class FinanceInfo {

        @ApiModelProperty("购置税")
        private Double purchaseTax;

        @ApiModelProperty("保险费")
        private Double insurance;

        @ApiModelProperty("评估费")
        private Double evaluation;

        @ApiModelProperty("GPS安装费")
        private Double gps;

        @ApiModelProperty("担保服务费")
        private Double guarantee;

        @ApiModelProperty("履约保证金")
        private Double bond;

        @ApiModelProperty("其它费用")
        private Double other;

        @ApiModelProperty("付款日期")
        private String advanceDate;

        @ApiModelProperty("付款金额")
        private Double advanceAmount;

        @ApiModelProperty("付款账户名")
        private String bankAccountName;

        @ApiModelProperty("付款开户行")
        private String bankName;

        @ApiModelProperty("付款账号")
        private String bankAccountNo;

        @ApiModelProperty("结算费率")
        private Double settleRate;

        @ApiModelProperty("折扣率")
        private Double discountRate;

        @ApiModelProperty(value = "应结金额")
        private Double shouldAmount;

        @ApiModelProperty("结算扣罚金额")
        private Double salesmanFinedAmount;

        @ApiModelProperty("实结金额")
        private Double salesmanRebateAmount;

        @ApiModelProperty(value = "结算日期 yyyy-MM-dd", required = true)
        private String settleDate;

        @ApiModelProperty("付款备注")
        private String advanceRemark;

        @ApiModelProperty("罚扣备注")
        private String salesmanRemark;

        @ApiModelProperty("结算备注")
        private String settleRemark;


    }

    @Data
    public static class OperationalInfo {


        @ApiModelProperty("业务申请提交人员")
        private String businessName;

        @ApiModelProperty("业务申请提交时间")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        private LocalDateTime businessTime;

        @ApiModelProperty("业务审批")
        private String businessAuditName;

        @ApiModelProperty("业务审批时间")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        private LocalDateTime businessAuditTime;

        @ApiModelProperty("加签审核")
        private String businessApostilleName;

        @ApiModelProperty("加签审核时间")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        private LocalDateTime businessApostilleTime;

        @ApiModelProperty("付款申请")
        private String paymentApplyName;

        @ApiModelProperty("付款申请时间")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        private LocalDateTime paymentApplyTime;

        @ApiModelProperty("付款审批人员")
        private String paymentAuditName;

        @ApiModelProperty("付款审批时间")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        private LocalDateTime paymentAuditTime;

        @ApiModelProperty("付款信息录入人员")
        private String paymentInfoName;


        @ApiModelProperty("付款信息时间")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        private LocalDateTime paymentInfoTime;

        @ApiModelProperty("结算信息录入人员")
        private String settleAccountsName;

        @ApiModelProperty("结算信息时间")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        private LocalDateTime settleAccountsTime;

        @ApiModelProperty("车辆信息人员")
        private String carInfoName;

        @ApiModelProperty("车辆信息状时间")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        private LocalDateTime carInfoTime;


        @ApiModelProperty("保险信息人员")
        private String insuranceInfoName;

        @ApiModelProperty("保险信息时间")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        private LocalDateTime insuranceInfoTime;

        @ApiModelProperty("牌证信息人员")
        private String licenseInfoName;

        @ApiModelProperty("牌证信息时间")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        private LocalDateTime licenseInfoTime;


        @ApiModelProperty("抵押信息人员")
        private String mortgageInfoName;

        @ApiModelProperty("抵押信息时间")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        private LocalDateTime mortgageInfoTime;


        @ApiModelProperty("合同审核人员")
        private String contractAuditName;

        @ApiModelProperty("合同审核时间")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        private LocalDateTime contractAuditTime;


        @ApiModelProperty("放贷信息人员")
        private String makeLoansInfoName;

        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @ApiModelProperty("放贷信息时间")
        private LocalDateTime makeLoansInfoTime;

        @ApiModelProperty("还款信息人员")
        private String repaymentInfoName;

        @ApiModelProperty("还款信息时间")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        private LocalDateTime repaymentInfoTime;

        @ApiModelProperty("档案审核人员")
        private String fileAuditName;

        @ApiModelProperty("档案审核时间")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        private LocalDateTime fileAuditTime;

        @ApiModelProperty("业务详情")
        private String remark;

        @ApiModelProperty("业务审批备注")
        private String auditRemark;

        @ApiModelProperty("加签意见")
        private String secondAuditRemark;

    }
}
